package com.DVLA.testapp.app;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.json.JSONObject;
import android.util.Log;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;
import android.os.AsyncTask;
public class HttpRequest extends AsyncTask<Object, Void, vehRecord>
{
vehRecView vehView;
@Override
protected vehRecord doInBackground(Object... params)
{
this.vehView = (vehRecView) params[0];
if(this.vehView.Param.length()==0) {
vehRecord result = new vehRecord();
result.VRM = "Not Found";
return result;
}
BufferedReader inBuffer = null;
String url = "http://breezedave.cloudapp.net/IsItTaxed/api/values/" + this.vehView.Param;
vehRecord result;
try {
HttpClient httpClient = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
HttpResponse httpResponse = httpClient.execute(request);
inBuffer = new BufferedReader(
new InputStreamReader(
httpResponse.getEntity().getContent()));
StringBuffer stringBuffer = new StringBuffer("");
String line = "";
String newLine = System.getProperty("line.separator");
while ((line = inBuffer.readLine()) != null) {
stringBuffer.append(line + newLine);
}
inBuffer.close();
JSONObject json = new JSONObject(stringBuffer.toString());
vehRecord vehicle = new vehRecord();
Log.i("Test",json.toString());
getVehicle(json, vehicle);
result = vehicle;
} catch(Exception e) {
Log.i("Err",e.getMessage());
result = new vehRecord();
} finally {
if (inBuffer != null) {
try {
inBuffer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
protected void onPostExecute(vehRecord vehicle)
{
vehView.VRM.setText(vehicle.getVRM());
vehView.Make.setText(vehicle.getMake());
vehView.Model.setText(vehicle.getModel());
vehView.Tax.setText(DateTimeFormat.forPattern("dd MM YY").print(vehicle.getTax()));
vehView.MOT.setText(vehicle.isMOTed());
vehView.Insured.setText(vehicle.getInsured());
vehView.LoadingFrame.setVisibility(View.GONE);
}
public void getVehicle(JSONObject json, vehRecord vehicle) {
try {
vehicle.VRM = json.get("VRM").toString();
vehicle.Make = json.get("Make").toString();
vehicle.Model = json.get("Model").toString();
vehicle.Tax = new DateTime(json.get("Tax").toString());
vehicle.MOT = new DateTime(json.get("MOT").toString());
vehicle.Insured = json.getBoolean("Insured");
} catch (Exception e) {
Log.i("Error",e.getMessage());
}
}
}